package com.hlf.modules.sys.service;

import com.hlf.modules.sys.entity.SysUserTokenEntity;
import com.hlf.common.utils.ReturnResult;

import java.util.Map;

/**
 * 用户Token
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2017-03-23 15:22:07
 */
public interface SysUserTokenService {

    SysUserTokenEntity queryByUserId(Long userId);

    SysUserTokenEntity queryByToken(String token);

    void save(SysUserTokenEntity token);

    void update(SysUserTokenEntity token);

    /**
     * 生成token
     * @param userId  用户ID
     */
    Map createToken(long userId);

    /**
     * 生成token
     * @param userId  用户ID
     */
    ReturnResult sysCreateToken(long userId);

    /**
     * 删除token
     */
    ReturnResult deleteToken(long userId);

    /**
     * 退出，修改token值
     * @param userId  用户ID
     */
    void logout(long userId);

}
